import dotenv
from langchain_community.chat_models import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser, JsonOutputParser
from langchain_core.prompts import ChatPromptTemplate


class Chain:
    m_setps: list = []
    def __init__(self, setps: list):
        self.m_setps = setps

    def invoke(self, input):
        for one_step in self.m_setps:
            input = one_step.invoke(input)
            print("步骤", one_step)
            print("输出", input)
            print("===================")
dotenv.load_dotenv()
prompt = ChatPromptTemplate.from_template("{query}")
llm = ChatOpenAI(model = "gpt-3.5-turbo-16k")
parser = StrOutputParser()
# parser = JsonOutputParser()
# 我们跟大语言模型交互总共3步，第一步---构建提示词，第二步---创建大模型，第三步---构建解析器
test_chain = Chain([prompt, llm, parser])
test_chain.invoke({"query":"你好，你是谁？你能帮我做什么"})





